Check daemon is initialized before suppressing its init errors
authorSpencer Baugh <sbaugh@janestreet.com>
Tue, 13 Feb 2024 17:20:39 +0000 (12:20 -0500)
committerEli Zaretskii <eliz@gnu.org>
Sat, 24 Feb 2024 09:24:26 +0000 (11:24 +0200)
commit526c262149839702b94253d5eff195054ac5cd9e
tree16c4468708a4cf73037731cb7efeb81c9e427b7b
parenta8fe17e49a5c4ec1490966271c68a1b8add8d41a
Check daemon is initialized before suppressing its init errors

Previously, the default error handler would correctly suppress
unhandled errors raised when IS_DAEMON and the initial frame
was current, since this is the normal state of operation for a
daemon-mode Emacs.  However, this also incorrectly suppressed
errors raised while a daemon-mode Emacs was starting up.

Now, errors raised while a daemon-mode Emacs is starting up will be
handled just like errors when a non-daemon Emacs is starting up.

This was previously the case before changes for bug#1310 and
bug#1836, which added the suppression of errors when IS_DAEMON.
DAEMON_RUNNING didn't exist at the time of those changes, but now
it does, so we can do better.

* src/keyboard.c (Fcommand_error_default_function): Check
!DAEMON_RUNNING in addition to IS_DAEMON.  (Bug#68799)
* src/lisp.h (DAEMON_RUNNING): Add a clarifying comment about
what this #define means.
src/keyboard.c
src/lisp.h